/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package autopecas.Dados;

import autopecas.ClasseBasica.Fornecedor;
import autopecas.Exception.FornecedorExeception;
import autopecas.Interface.InterfaceFornecedor;
import com.mysql.jdbc.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

/**
 *
 * @author NeGo
 */
public class DadosFornecedor extends DadosConexao implements InterfaceFornecedor {

    DadosConexao dados;
    
    public DadosFornecedor(){
        dados = new DadosConexao();
    }
    
    @Override
    public void cadastrar(Fornecedor f) throws SQLException, Exception, FornecedorExeception {
        
        String sql = "INSERT INTO FORNECEDOR (NOMEFORNECEDOR,CODIGOFORNECEDOR) VALUES (?,?)";
        java.sql.PreparedStatement stmt = dados.conectarMysql().prepareStatement(sql);
        stmt.setString(1,f.getNomeFornecedor());
        stmt.setInt(2, f.getCodigoFornecedor());
        stmt.execute();
    }

    @Override
    public void atualizar(Fornecedor f) throws SQLException, Exception, FornecedorExeception {
        String sql ="UPDATE FORNECEDOR SET NOMEFORNECEDOR = ? WHERE CODIGOFORNECEDOR= ? ";
        PreparedStatement stmt = (PreparedStatement) dados.conectarMysql().prepareStatement(sql);
        stmt.setString(1, f.getNomeFornecedor());
        stmt.setInt(2, f.getCodigoFornecedor());
        stmt.execute();
    }

    @Override
    public void remover(Fornecedor f) throws SQLException, Exception, FornecedorExeception {
        String sql = "DELETE FROM FORNECEDOR WHERE CODIGOFORNECEDOR = ?";
        PreparedStatement stmt = (PreparedStatement) dados.conectarMysql().prepareStatement(sql);
        stmt.setInt(1, f.getCodigoFornecedor());
        stmt.execute();
    }

    @Override
    public ArrayList<Fornecedor> Listar() throws SQLException, Exception, FornecedorExeception {
         ArrayList<Fornecedor>flist = new ArrayList<>();     
         String sql = "SELECT*FROM FORNECEDOR";
    PreparedStatement stmt = (PreparedStatement) dados.conectarMysql().prepareStatement(sql);
        ResultSet res = stmt.executeQuery();
        
        return flist;
    
    }

    @Override
    public ArrayList<Fornecedor> Consultar(Integer codigoFornecedor) throws SQLException, Exception, FornecedorExeception {

        
        ArrayList<Fornecedor> flist = new ArrayList<>();

        String sql = "SELECT * FROM Fornecedor WHERE codigofornecedor = ?";
        PreparedStatement stmt = (PreparedStatement) dados.conectarMysql().prepareStatement(sql);
        stmt.setInt(1, codigoFornecedor);
        ResultSet rs = stmt.executeQuery();
        return flist;

            
    }
    
}
